Skip to content

fix(blob): support blob-only writes and reject nested blob fields#429

Open
lxy-9602 wants to merge 1 commit into
alibaba:mainfrom
lxy-9602:write-single-blob
Open

fix(blob): support blob-only writes and reject nested blob fields#429
lxy-9602 wants to merge 1 commit into
alibaba:mainfrom
lxy-9602:write-single-blob

Conversation

@lxy-9602

Copy link
Copy Markdown
Collaborator

Purpose

Linked issue: #283

This PR improves BLOB schema validation and data-evolution partial writes.

  • Reject BLOB fields nested in ARRAY, MAP, or STRUCT types because C++ currently supports only top-level BLOB fields.
  • Explicitly reject ARRAY<BLOB>, which is supported by Java Paimon but not yet supported by Paimon C++.
  • Allow data-evolution writes whose write schema contains only BLOB fields.
  • Keep the existing row-tracking requirement that a BLOB-only partial write must provide a matching first_row_id.

Tests

ArrowSchemaValidatorTest.TestBlobFieldMustBeTopLevel
BlobUtilsTest.SeparateBlobArray
AppendOnlyWriterTest.TestWriteWithOnlyBlobField
BlobTableInteTest.TestDataEvolutionBlobOnlyWriteWithFirstRowId
BlobTableInteTest.TestDataEvolutionBlobOnlyFirstCommitFailsWithoutFirstRowId

API and Format

Documentation

Generative AI tooling

Generated-by: OpenAI Codex (GPT-5)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant